<?php

class TrabajosController extends AppController
{
    public $uses = array(
        'Empleado',
        'Maquinaria',
        'Empleado',
        'Empresa',
        'Cliente',
        'Sucursale',
        'Trabajo',
        'Hojasruta',
        'Estadostrabajo',
        'Ordenespedido',
        'Empleadosordene',
        'Empleadostrabajo',
        'Tipotrabajo',
        'Inventario',
        'Hojarutatipotrabajo',
        'Inventariostrabajo',
        'Hojasproduccione',
        'Formato',
        'Sucursale',
        'Preciohoja',
        'Reciboproduccione',
        'Notaremisione',
        'Notaentrega',
        'Myhojasruta',
        'Micra',
        'Cortestubo', 'Movimientostrabajo', 'Movimientostubo','Cumpatrabajo','Cumpahojasproduccione');
    public $layout = 'imprenta';
    public $helpers = array(
        'Html',
        'Form',
        'Js',
        'Fechas', 'Ajax');
    public $components = array('Session', 'Fechasconvert');

    function beforeFilter()
    {
        //date_default_timezone_set("America/La_Paz");
        //$this->checksession();
    }

    function index()
    {

        $sucursal = $this->Session->read('Auth.User.sucursale_id');

        //debug($sucursal);
        if ($this->Session->read('Auth.User.role') == 'admin')
        {

            $trabajos = $this->Trabajo->find('all', array(
                'conditions' => array('Trabajo.estadostrabajo_id' => array(1, 2, 3, 4, 5)),
                'recursive' => 1,
                'limit' => 100,
                'order' => 'Trabajo.id DESC'));
        } else
        {
            $hrutas = $this->Hojarutatipotrabajo->find('all', array(
                'conditions' => array(
                    'Hojarutatipotrabajo.sucursale_id' => $sucursal
                ),
                'group' => array('Hojarutatipotrabajo.hojasruta_id'),
                'order' => array('Hojarutatipotrabajo.hojasruta_id DESC'),
                'recursive' => 1
            ));
            $ides = array();
            $i = 0;
            foreach ($hrutas as $h)
            {
                $ides[$i] = $h['Hojasruta']['trabajo_id'];
                $i++;
            }

            $trabajos = $this->Trabajo->find('all', array(
                'recursive' => 1,
                'limit' => 100,
                'order' => 'Trabajo.id DESC',
                'conditions' => array(
                    'Trabajo.id' => $ides,
                    'Trabajo.estadostrabajo_id' => array(1, 2, 3, 4, 5))));
        }

        $this->set(compact('trabajos'));
    }

    function nuevo()
    {
        $this->request->data['Trabajo']['usuario_id'] = $this->Session->read('usuario_id');
        $this->request->data['Trabajo']['fecharegistro'] = date('Y-m-d');
        $this->Trabajo->create();

        if ($this->Trabajo->save($this->data))
        {
            //debug($this->request->data);exit;
            $usuario = $this->Session->read('usuario_id');
            $idtrabajo = $this->Trabajo->find('first', array('fields' => array("MAX(Trabajo.id) as id")));

            $idtrabajo = $idtrabajo['0']['id'];
            $this->Session->setFlash('Nuevo trabajo');
            $this->redirect(array('action' => 'nuevotrabajo', $idtrabajo), null, true);
        } else
        {
            $this->Session->setFlash('No se pudo registrar!!!');
        }
    }

    function nuevotrabajo($id = null)
    {
        if (!empty($this->data))
        {
            $id = $this->data['Trabajo']['id'];
            $this->Trabajo->id = $id;
            $this->Trabajo->read();
            if (!$id)
            {
                $this->Session->setFlash('Error al leer el registro');
                $this->redirect(array('action' => 'index'), null, true);
            }
            $this->request->data['Trabajo']['fecharegistro'] = date('Y-m-d');
            $cliente_id = $this->data['Trabajo']['cliente_id'];

            if ($this->Trabajo->save($this->data))
            {
                $this->Session->setFlash('Fase 1 registrada');
                $this->redirect(array(
                    'action' => 'nuevahojaruta',
                    $id,
                    $cliente_id), null, true);
            } else
            {
                $this->Session->setFlash('no se pudo modificar!!');
            }
        } else
        {
            $idtrabajo = $id;
            $usuario = $this->Session->read('usuario_id');
            $clientes = $this->Cliente->find('list', array('fields' => array('Cliente.nombre')));
            $opt = $this->Estadostrabajo->find('list', array('fields' => array('Estadostrabajo.nombre')));

            $this->set(compact('idtrabajo', 'opt', 'clientes', 'usuario'));
        }
    }

    function nuevahojaruta($id = null, $cliente_id = null)
    {

        //$idtrabajo = $this->Trabajo->find('first', array('fields' => array("MAX(Trabajo.id) as id")));
        if (!empty($this->request->data))
        {
            $sucursalUsuario = $this->Session->read('Auth.User.sucursale_id');
            //            debug($sucursalUsuario);
            //            debug($this->request->data);exit;
            $cliente_id = $this->request->data['Hojasruta']['cliente_id'];
            /*             * ********valida si es nuevo cliente******************* */
            if ($cliente_id == 1)
            {
                $this->Cliente->create();
                unset($this->request->data['Cliente']['id']);
                $data = $this->data['Cliente'];
                if (!($this->Cliente->save($data)))
                {
                    $this->Session->setFlash("no se pudieron guardar los datos del cliente");
                } else
                {
                    $this->Session->setFlash("Nuevo cliente guardado!!!");
                    $ultimo_cliente_id = $this->Cliente->getLastInsertID();
                }
            } else
            { /*             * ***********************en caso de seleccionar cliente existente********************************************** */
                $this->Cliente->id = $cliente_id;
                $data = $this->Cliente->read();
                $ultimo_cliente_id = $cliente_id;
                $data = $this->data['Cliente'];
                if ($this->Cliente->save($data))
                {
                    $this->Session->setFlash("Datos cliente actualizados!!!");
                } else
                {
                    $this->Session->setFlash("No se actualizaron los datos del cliente!!!");
                }
            }
            $data = "";
            $this->Trabajo->create();
            $data['Trabajo']['sucursale_id'] = $sucursalUsuario;
            $data['Trabajo']['cliente_id'] = $ultimo_cliente_id;
            $data['Trabajo']['user_id'] = $this->data['Hojasruta']['user_id'];
            $data['Trabajo']['estadostrabajo_id'] = 1;
            $data['Trabajo']['fecharegistro'] = date('Y-m-d H:i:s');            
            $this->Trabajo->save($data);

            $idtrabajo = $this->Trabajo->getLastInsertID();

            $this->request->data['Hojasruta']['trabajo_id'] = $idtrabajo;
            $this->request->data['Hojasruta']['cliente_id'] = $ultimo_cliente_id;
            unset($this->request->data['telefono']);
            unset($this->request->data['celular']);
            unset($this->request->data['Cliente']);

            //debug($this->data);exit;
            if ($this->Hojasruta->saveAll($this->request->data))
            {
                //$ultimaHojaRuta = $this->Hojasruta->getLastInsertID();
                $this->Session->setFlash("Trabajo " . $idtrabajo . " guardado exitosamente!", 'msgbueno');
                $this->redirect(array('action' => 'imprimir', $idtrabajo));
            } else
            {
                $this->Session->setFlash("Error al guardar!", 'msgerror');
                $this->redirect(array('action' => 'index'));
            }
        }

        //*************************************************************
        $inventario = $this->Inventario->find('all', array('fields' => array('Inventario.id',
                'Producto.nombre')));
        $inventarios = array();
        foreach ($inventario as $in):
            $k = $in['Inventario']['id'];
            $inventarios[$k] = $in['Producto']['nombre'];
        endforeach;
        $clientes = $this->Cliente->find('list', array('fields' => array('Cliente.id',
                'Cliente.nombre'), 'order' => array('Cliente.nombre ASC')));
        $trabajo = $this->Trabajo->find('first', array('order' => array('Trabajo.id DESC')));
        $numerotrabajo = $trabajo['Trabajo']['id'] + 1;
        $maquinas = $this->Maquinaria->find('list', array('fields' => array('Maquinaria.nombre')));
        $empleados = $this->Empleado->find('list', array('fields' => array('Empleado.nombre')));
        $sucursales = $this->Sucursale->find('list', array('fields' => array('Sucursale.nombre')));
        $tipotrabajos = $this->Tipotrabajo->find('list', array('fields' => array('Tipotrabajo.descripcion')));
        $lugartrabajo = array(
            'ANVERSO' => 'ANVERSO',
            'REVERSO' => 'REVERSO',
            'AMBOS' => 'AMBOS');
        $this->set(compact('clientes', 'empleados', 'sucursales', 'id', 'maquinas', 'cliente', 'tipotrabajos', 'tipotrabajo', 'inventarios', 'cliente_id', 'lugartrabajo', 'numerotrabajo'));
    }

    public function hojasrutas($idtrabajo = null)
    {
        $listar = $this->Hojasruta->find('all', array('conditions' => array('Hojasruta.trabajo_id' =>
                $idtrabajo)));
        //debug($listar);exit;
        $this->set(compact('listar'));
    }

    function nuevaordenpedido($id = null)
    {
        if (!empty($this->data))
        {
            if ($this->Ordenespedido->saveAll($this->data))
            {
                $this->Session->setFlash('Se registro su orden de trabajo correctamente');
                $this->redirect(array('action' => 'index'), null, true);
            } else
            {
                $this->Session->setFlash('no se pudo modificar!!');
            }
        }
        $empmaquinas = $this->Empleadostrabajo->find('all', array('conditions' => array
                ('Empleadostrabajo.hojasruta_id' => $id), 'recursive' => -1));

        $datosempleados = $this->Empleadostrabajo->find('all', array('conditions' =>
            array('Empleadostrabajo.hojasruta_id'), 'recursive' => -1));

        $datos = $this->Hojasruta->findById($id);
        $usuario = 1;
        $maquinas = $this->Maquinaria->find('list', array('fields' => array('Maquinaria.nombre')));
        $empleados = $this->Empleado->find('list', array('fields' => array('Empleado.nombre')));
        $sucursales = $this->Sucursale->find('list', array('fields' => array('Sucursale.nombre')));
        $opt = $this->Estadostrabajo->find('list', array('fields' => array('Estadostrabajo.nombre')));
        $this->set(compact('id', 'opt', 'maquinas', 'usuario', 'empleados', 'sucursales', 'empmaquinas', 'datos'));
    }

    function imprimir($id)
    {
        $trabajo = $this->Trabajo->find('first', array('conditions' => array('Trabajo.id' =>
                $id)));
        $trabajo1 = $this->Hojasruta->find('first', array('conditions' => array('Hojasruta.trabajo_id' =>
                $id)));

        $cliente['Cliente']['nombre'] = $trabajo['Cliente']['nombre'];
        $cliente['Cliente']['telefono'] = $trabajo['Cliente']['telefono'];
        $cliente['Cliente']['celular'] = $trabajo['Cliente']['celular'];
        $empleados = $trabajo1['Empleadostrabajo'];
        $tipostrabajo = $trabajo1['Hojarutatipotrabajo'];
        $i = 0;
        $k = 0;
        foreach ($empleados as $em):
            $empleado = $this->Empleado->find('first', array('conditions' => array('Empleado.id' =>
                    $em['empleado_id'])));
            $maquinaria = $this->Maquinaria->find('first', array('conditions' => array('Maquinaria.id' =>
                    $em['maquinaria_id'])));
            $nombre_empleado[$i] = array("nom_empleado" => $empleado['Empleado']['nombre'],
                "maquina" => $maquinaria['Maquinaria']['nombre']);
            $i++;
        endforeach;

        foreach ($tipostrabajo as $tipos):
            $tipotrabajos1 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo1_id'])));
            $tipotrabajos2 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo2_id'])));
            $tipotrabajos3 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo3_id'])));
            $tipotrabajos4 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo4_id'])));
            $tipotrabajos5 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo5_id'])));
            $sucursal = $this->Sucursale->find('first', array('conditions' => array('Sucursale.id' =>
                    $tipos['sucursale_id'])));
            $tipo[$k] = array(
                "tipotrabajo1" => $tipotrabajos1['Tipotrabajo']['descripcion'],
                "tipotrabajo2" => $tipotrabajos2['Tipotrabajo']['descripcion'],
                "tipotrabajo3" => $tipotrabajos3['Tipotrabajo']['descripcion'],
                "tipotrabajo4" => $tipotrabajos4['Tipotrabajo']['descripcion'],
                "tipotrabajo5" => $tipotrabajos5['Tipotrabajo']['descripcion'],
                'descripcion' => $tipos['descripcion'],
                'cantidad_nominal' => $tipos['cantidad_nominal'],
                'sucursal' => $sucursal['Sucursale']['nombre'],
                'cara1' => $tipos['cara1'],
                'cara2' => $tipos['cara2'],
                'cara3' => $tipos['cara3'],
                'cara4' => $tipos['cara4'],
                'cara5' => $tipos['cara5'],
            );
            $k++;
        endforeach;
        $numHojaRuta = $trabajo1['Hojasruta']['id'];
        $verifica = $this->Myhojasruta->find(
                'count', array(
            'conditions' => array(
                'Myhojasruta.trabajo_id' => $trabajo['Trabajo']['id'])));

        $this->set(compact('trabajo', 'trabajo1', 'nombre_empleado', 'tipo', 'cliente', 'verifica', 'numHojaRuta'));
    }

    function imprimirhp($id)
    {
        $trabajo = $this->Trabajo->find(
                'first', array(
            'conditions' => array('Trabajo.id' => $id)));
        $trabajo1 = $this->Hojasruta->find('first', array('conditions' => array('Hojasruta.trabajo_id' => $id)));

        $cliente['Cliente']['nombre'] = $trabajo['Cliente']['nombre'];
        $cliente['Cliente']['telefono'] = $trabajo['Cliente']['telefono'];
        $cliente['Cliente']['celular'] = $trabajo['Cliente']['celular'];
        $empleados = $trabajo1['Empleadostrabajo'];
        $tipostrabajo = $trabajo1['Hojarutatipotrabajo'];
        $i = 0;
        $k = 0;
        foreach ($empleados as $em):
            $empleado = $this->Empleado->find('first', array('conditions' => array('Empleado.id' =>
                    $em['empleado_id'])));
            $maquinaria = $this->Maquinaria->find('first', array('conditions' => array('Maquinaria.id' =>
                    $em['maquinaria_id'])));
            $nombre_empleado[$i] = array("nom_empleado" => $empleado['Empleado']['nombre'],
                "maquina" => $maquinaria['Maquinaria']['nombre']);
            $i++;
        endforeach;
        foreach ($tipostrabajo as $tipos):
            $tipotrabajos1 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo1_id'])));
            $tipotrabajos2 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo2_id'])));
            $tipotrabajos3 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo3_id'])));
            $tipotrabajos4 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo4_id'])));
            $sucursal = $this->Sucursale->find('first', array('conditions' => array('Sucursale.id' =>
                    $tipos['sucursale_id'])));
            $tipo[$k] = array(
                "tipotrabajo1" => $tipotrabajos1['Tipotrabajo']['descripcion'],
                "tipotrabajo2" => $tipotrabajos2['Tipotrabajo']['descripcion'],
                "tipotrabajo3" => $tipotrabajos3['Tipotrabajo']['descripcion'],
                "tipotrabajo4" => $tipotrabajos4['Tipotrabajo']['descripcion'],
                'descripcion' => $tipos['descripcion'],
                'cantidad_nominal' => $tipos['cantidad_nominal'],
                'sucursal' => $sucursal['Sucursale']['nombre'],
                'cara1' => $tipos['cara1'],
                'cara2' => $tipos['cara2'],
                'cara3' => $tipos['cara3'],
                'cara4' => $tipos['cara4'],
            );
            $k++;
        endforeach;

        $verifica = $this->Myhojasruta->find('all', array('conditions' => array('Myhojasruta.trabajo_id' =>
                $trabajo['Trabajo']['id'])));
        //debug($verifica);
        //debug($tipo);exit;
        $this->set(compact('trabajo', 'trabajo1', 'nombre_empleado', 'tipo', 'cliente', 'verifica'));
    }

    public function eliminar($id = null)
    {
        if (!$id)
        {
            $this->Session->setFlash('id Invalida para borrar');
            $this->redirect(array('action' => 'index'));
        }

        if ($this->Trabajo->delete($id))
        {
            $this->Session->setFlash('El trabajo  ' . $id . ' fue eliminado');
            $this->redirect(array('action' => 'index'));
        }
    }

    /*     * *************************************************************funcion editar******************************************************************** */

    function editar($id = null)
    {
        if (!empty($this->data))
        {
            $idtrabajo = $id;
            $trabajo1 = $this->Hojasruta->find('first', array('conditions' => array('Hojasruta.trabajo_id' =>
                    $idtrabajo), 'recursive' => 1));
            if ($this->data['Cliente']['id'] == 1)
            {
                $this->Cliente->create();
                if ($this->Cliente->save($this->data))
                {
                    $this->data = '';
                    $idcliente = $this->Cliente->id;
                    $this->Hojasruta->id = $trabajo1['Hojasruta']['id'];
                    $this->Hojasruta->read();
                    $this->request->data['Hojasruta']['cliente_id'] = $idcliente;
                    if ($this->Hojasruta->save($this->data))
                    {
                        $this->Session->setFlash("Cliente asignado!!!");
                        $this->redirect(array(
                            "controller" => "Trabajos",
                            "action" => "editar",
                            $idtrabajo), null, false);
                    } else
                    {
                        $this->Session->setFlash("no se pudo asignar el cliente!!!");
                        $this->redirect(array(
                            "controller" => "Trabajos",
                            "action" => "editar",
                            $idtrabajo), null, false);
                    }
                }
            } else
            {
                $this->Cliente->id = $this->data['Cliente']['id'];
                $idcliente = $this->data['Cliente']['id'];
                $this->Cliente->read();
                if ($this->Cliente->save($this->data))
                {
                    $this->data = '';
                    $this->Hojasruta->id = $trabajo1['Hojasruta']['id'];
                    $this->Hojasruta->read();
                    $this->request->data['Hojasruta']['cliente_id'] = $idcliente;

                    if ($this->Hojasruta->save($this->data))
                    {
                        $this->request->data['Trabajo']['cliente_id'] = $this->data['Hojasruta']['cliente_id'];
                        $this->Trabajo->id = $trabajo1['Hojasruta']['trabajo_id'];

                        $this->Trabajo->read();
                        unset($this->request->data['Hojasruta']['cliente_id']);
                        $this->Trabajo->save($this->data);
                        $this->Session->setFlash("Cliente asignado!!!");
                        $this->redirect(array(
                            "controller" => "Trabajos",
                            "action" => "editar",
                            $idtrabajo), null, false);
                    } else
                    {
                        $this->Session->setFlash("no se pudo asignar el cliente!!!");
                        $this->redirect(array(
                            "controller" => "Trabajos",
                            "action" => "editar",
                            $idtrabajo), null, false);
                    }
                } else
                {
                    $this->Session->setFlash("no se pudo asignar el cliente!!!");
                    $this->redirect(array(
                        "controller" => "Trabajos",
                        "action" => "editar",
                        $idtrabajo), null, false);
                }
            }
        } else
        {
            $clientes = $this->Cliente->find('list', array('fields' => array('Cliente.id',
                    'Cliente.nombre'), 'order' => array('Cliente.nombre ASC')));
            $trabajo = $this->Trabajo->find('first', array('conditions' => array('Trabajo.id' =>
                    $id)));
            $trabajo1 = $this->Hojasruta->find('first', array('conditions' => array('Hojasruta.trabajo_id' =>
                    $id), 'recursive' => 1));
            $inventarios = $trabajo1['Inventariostrabajo'];
            $datosinventario = $this->Inventario->find('all', array('recursive' => -1));

            $inventariodatos = array();
            foreach ($datosinventario as $in):
                $k = $in['Inventario']['id'];
                $inventariodatos[$k] = $in['Producto']['nombre'];
            endforeach;
            $j = 0;
            foreach ($inventarios as $inv)
            {
                $producto = $this->Inventario->find('first', array('conditions' => array('Inventario.id' =>
                        $inv['inventario_id'])));
                $inventa[$j] = array(
                    "id" => $inv['id'],
                    "producto" => $producto['Producto']['nombre'],
                    "ancho" => $inv['ancho'],
                    "litros" => $inv['litros']);
                $j++;
            }
            //debug($trabajo1);exit;
            //$inventarios = $inventa;
            $hojarutaid = $trabajo1['Hojasruta']['id'];
            $cliente = $trabajo1['Cliente'];
            $empleadotrabajo = $trabajo1['Empleadostrabajo'];
            $tipostrabajo = $trabajo1['Hojarutatipotrabajo'];
            $empleados = $this->Empleado->find('list', array('fields' => array('Empleado.id',
                    'Empleado.nombre')));
            $maquinas = $this->Maquinaria->find('list', array('fields' => array('Maquinaria.id',
                    'Maquinaria.nombre')));
            $i = 0;
            $k = 0;
            foreach ($empleadotrabajo as $em):
                //debug($em);exit;
                $empleado = $this->Empleado->find('first', array('conditions' => array('Empleado.id' =>
                        $em['empleado_id'])));
                $maquinaria = $this->Maquinaria->find('first', array('conditions' => array('Maquinaria.id' =>
                        $em['maquinaria_id'])));
                $nombre_empleado[$i] = array(
                    "id" => $em['id'],
                    "hojaruta_id" => $em['hojasruta_id'],
                    "nom_empleado" => $empleado['Empleado']['nombre'],
                    "maquina" => $maquinaria['Maquinaria']['nombre']);
                $i++;
            endforeach;
            foreach ($tipostrabajo as $tipos):
                $tipotrabajos1 = $this->Tipotrabajo->find('first', array('recursive' => 0,
                    'conditions' => array('Tipotrabajo.id' =>
                        $tipos['tipotrabajo1_id'])));
                $tipotrabajos2 = $this->Tipotrabajo->find('first', array('recursive' => 0,
                    'conditions' => array('Tipotrabajo.id' =>
                        $tipos['tipotrabajo2_id'])));
                $tipotrabajos3 = $this->Tipotrabajo->find('first', array('recursive' => 0,
                    'conditions' => array('Tipotrabajo.id' =>
                        $tipos['tipotrabajo3_id'])));
                $tipotrabajos4 = $this->Tipotrabajo->find('first', array('recursive' => 0,
                    'conditions' => array('Tipotrabajo.id' =>
                        $tipos['tipotrabajo4_id'])));
                $sucursal = $this->Sucursale->find('first', array('conditions' => array('Sucursale.id' =>
                        $tipos['sucursale_id'])));
                $tipo[$k] = array(
                    "trabajo1_id" => $tipos['tipotrabajo1_id'],
                    "tipotrabajo1" => $tipotrabajos1['Tipotrabajo']['descripcion'],
                    "trabajo2_id" => $tipos['tipotrabajo2_id'],
                    "tipotrabajo2" => $tipotrabajos2['Tipotrabajo']['descripcion'],
                    "trabajo3_id" => $tipos['tipotrabajo3_id'],
                    "tipotrabajo3" => $tipotrabajos3['Tipotrabajo']['descripcion'],
                    "trabajo4_id" => $tipos['tipotrabajo4_id'],
                    "tipotrabajo4" => $tipotrabajos4['Tipotrabajo']['descripcion'],
                    'descripcion' => $tipos['descripcion'],
                    'cantidad_nominal' => $tipos['cantidad_nominal'],
                    'sucursal' => $sucursal['Sucursale']['nombre'],
                    'cara1' => $tipos['cara1'],
                    'cara2' => $tipos['cara2'],
                    'cara3' => $tipos['cara3'],
                    'cara4' => $tipos['cara4'],
                    'id' => $tipos['id']);
                $k++;
            endforeach;
            $estados = $this->Estadostrabajo->find('all', array('recursive' => -1));
            //debug($cliente);exit;
            $this->set(compact('hojarutaid', 'estados', 'trabajo', 'trabajo1', 'nombre_empleado', 'tipo', 'cliente', 'clientes', 'id', 'maquinas', 'empleados', 'inventariodatos', 'inventarios'));
        } //fin del else not empty del data
        /*         * *************************************************************fin funcion editar******************************************************************** */
    }

    public function auto_complete()
    {
        $clientes = $this->Cliente->find('list', array(
            'conditions' => array('Cliente.nombre LIKE' => '%' . $this->params['url']['autoCompleteText'] .
                '%'),
            'fields' => array('nombre'),
            'limit' => 30));
        $this->set(compact('clientes'));
        $this->layout = 'ajax';
    }

    public function ajaxdatoscliente($idCliente = null)
    {
        $this->layout = 'ajax';
        $cliente = $this->Cliente->find("first", array('recursive' => -1, 'conditions' =>
            array('Cliente.id' => $idCliente)));
        $clientes = $this->Cliente->find('list', array('fields' => array('Cliente.id',
                'Cliente.nombre')));
        $this->set(compact('cliente', 'clientes', 'id'));
    }

    /*     * ***********************************************FUNCION NUEVA HOJA DE PRODUCCION*************************************************************************************** */

    public function nuevahojaproduccion($idtrabajo = null)
    {

        if (!empty($this->request->data))
        {
            //debug($this->request->data);exit;
            unset($this->request->data['subtotal']);
            $idtrabajo = $this->request->data['Hojasproduccione'][0]['trabajo_id'];
            $idhruta = $this->request->data['Hojasproduccione'][0]['hojaruta_id'];
            //debug($this->request->data['Hojasproduccione']);die;
            if ($this->Hojasproduccione->saveAll($this->request->data['Hojasproduccione'], array('validate' =>
                        'first')))
            {
                if (!empty($this->request->data['Hojasproduccione'][0]['nr']))
                {
                    $this->Hojasproduccione->updateAll(array('Hojasproduccione.nr' => 1), array('Hojasproduccione.trabajo_id' => $idtrabajo));
                } else
                {
                    $this->Hojasproduccione->updateAll(array('Hojasproduccione.nf' => 1), array('Hojasproduccione.trabajo_id' => $idtrabajo));
                }
                //$this->Hojasproduccione->updateAll(array(''), $idhruta)
                $data = array('id' => $idtrabajo, 'estadostrabajo_id' => 5);
                $this->Trabajo->save($data);
                $this->Session->setFlash("Hoja de producci&oacute;n creada!!!", 'msgbueno');
                $this->redirect(array("controller" => "Trabajos", "action" => "verhojaproduccion", $idtrabajo, $idhruta), null, false);
            } else
            {
                $this->Session->setFlash("error al crear!!!", 'msgerror');
                $this->redirect(array("controller" => "Trabajos", "action" => "nuevahojaproduccion", $idtrabajo), null, false);
            }
        } else
        {
            $trabajo = $this->Hojasruta->find('first', array(
                'conditions' => array('Hojasruta.trabajo_id' =>
                    $idtrabajo)));
            $hojaruta = $trabajo['Hojasruta']['id'];
            $cliente = $trabajo['Cliente'];
            $tipostrabajo = $trabajo['Hojarutatipotrabajo'];

            $tipos = array();
            $k = 0;

            foreach ($tipostrabajo as $t)
            {
                for ($i = 1; $i <= 4; $i++)
                {
                    if ($t["tipotrabajo" . $i . "_id"] != null)
                    {

                        $descripcion1 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                                $t["tipotrabajo" . $i . "_id"])));
                        $rutas = $this->Myhojasruta->find('first', array('conditions' => array(
                                'Myhojasruta.trabajo_id' => $idtrabajo,
                                'Myhojasruta.sucursale_id' => $t['sucursale_id'])
                        ));

                        $tipos[$k] = array(
                            'idregistro' => $t['id'],
                            'id' => $t["tipotrabajo" . $i . "_id"],
                            "tipo" => $descripcion1['Tipotrabajo']['descripcion'],
                            'descripcion' => $t['descripcion'],
                            'cara' => $t["cara" . $i],
                            'tipo_id' => $descripcion1['Tipotrabajo']['tipo_id'],
                            'sucursal_id' => $t['sucursale_id'],
                            'numhojaruta' => $rutas['Myhojasruta']['numero']);
                        $k++;
                    }
                }
            }

            //$usuario = $this->Session->read('usuario_id');
            $usuario = $this->Session->read('Auth.User.id');
            $tipostrabajo = $tipos;
            $formatoshojas = $this->Preciohoja->find('list', array('fields' => array('Preciohoja.id',
                    'Preciohoja.nombre')));
            $trabajo = $trabajo['Hojasruta'];
            $val = $this->Formato->find('all', array('fields' => array('Formato.id',
                    'Formato.precio'), 'conditions' => array('Formato.tipotrabajo_id' => 6)));
            foreach ($val as $val1)
            {

                $valor[$val1['Formato']['precio']] = $val1['Formato']['precio'];
            }
            $val = $this->Formato->find('all', array('fields' => array('Formato.id',
                    'Formato.precio'), 'conditions' => array('Formato.tipotrabajo_id' => 4)));
            foreach ($val as $val1)
            {

                $valor1[$val1['Formato']['precio']] = $val1['Formato']['precio'];
            }
            $val = $this->Formato->find('all', array('fields' => array('Formato.id',
                    'Formato.precio'), 'conditions' => array('Formato.tipotrabajo_id' => 3)));
            foreach ($val as $val1)
            {

                $valor2[$val1['Formato']['precio']] = $val1['Formato']['precio'];
            }
            //debug($tipos);exit;

            $this->set(compact('usuario', 'trabajo', 'tipos', 'cliente', 'idtrabajo', 'formatoshojas', 'hojaruta', 'valor', 'valor1', 'valor2'));
        }
    }

    /*     * ****************************************************************************** */
    /*     * funcion para calcular los precios de cada formato de trabajo             * */
    /*     * ****************************************************************************** */

    public function ajaxcosto($idtrabajo = null, $tipotrabajo = null, $canti = null, $dim1 = null, $dim2 = null, $tipo = null, $cara = null, $hoja = null, $n = null, $precion = null)
    {
        debug($precion);
        exit;


        $this->layout = 'ajaxadr';
        /*         * valida si los datos estan vacios* */
        if ($canti == null || $dim1 == null || $dim2 == null)
        {
            $costos = array('0' => '0.00');
            ;
            $idcosto = 0;
        } else
        {

            $costo1 = $this->Formato->find('first', array('conditions' => array(
                    'Formato.tipotrabajo_id' => $tipotrabajo,
                    'Formato.cantidadinicial <=' => $canti,
                    'Formato.cantidadfinal >=' => $canti,
                    'Formato.desdemedini <=' => $dim1,
                    'Formato.hastamedini >=' => $dim1,
                    'Formato.desdemedfin <=' => $dim2,
                    'Formato.hastamedfin >=' => $dim2,
                ), 'order' => array('Formato.precio DESC')));


            if (empty($costo1) && $tipo == 2)
            {

                $costo1 = $this->Formato->find('first', array(
                    'conditions' => array(
                        'Formato.tipotrabajo_id' => $tipotrabajo,
                        'Formato.desdemedini <=' => $dim1,
                        'Formato.hastamedini >=' => $dim1,
                        'Formato.desdemedfin <=' => $dim2,
                        'Formato.hastamedfin >=' => $dim2,
                        'Formato.cantidadfinal <=' => $canti),
                    'order' => array('Formato.precio DESC'),
                    'group' => array('Formato.precio')));
            } elseif (empty($costo1))
            {
                $costo1 = $this->Formato->find('first', array(
                    'conditions' => array(
                        'Formato.tipotrabajo_id' => $tipotrabajo,
                        'Formato.cantidadinicial <=' => $canti,
                        'Formato.cantidadfinal >=' => $canti),
                    'order' => array('Formato.precio ASC'),
                    'group' => array('Formato.precio')));
            }


            /* obtener el rango y precio para el tipo de trabajo sectorizado */
            if ($tipo == 4)
            {
                $rango = $dim1 * $dim2;
                $costo1 = $this->Formato->find('first', array('conditions' => array(
                        'Formato.tipotrabajo_id' => $tipotrabajo,
                        'Formato.cantidadinicial <=' => $canti,
                        'Formato.cantidadfinal >=' => $canti,
                        'Formato.rangoini <=' => $rango,
                        'Formato.rangofin >=' => $rango), 'order' => array('Formato.id DESC')));
                if (empty($costo1))
                {
                    $costo1 = $this->Formato->find('first', array(
                        'conditions' => array(
                            'Formato.tipotrabajo_id' => $tipotrabajo,
                            'Formato.rangoini <=' => $rango,
                            'Formato.rangofin >=' => $rango,
                            'Formato.cantidadfinal <=' => $canti),
                        'order' => array('Formato.precio ASC'),
                        'group' => array('Formato.precio')));
                }
            } //fin rango de precios tipo sectorizados

            if (empty($costo1))
            {
                $precio = 0;
                $cantidad = 1;
            } else
            {

                $precio = $costo1['Formato']['precio'];
                $cantidad = $costo1['Formato']['cantidadfinal'];
            }

            $neighbors = $this->Formato->find('neighbors', array(
                'field' => 'precio',
                'value' => $precio,
                'fields' => array(
                    'Formato.id',
                    'Formato.precio',
                    'Formato.cantidadfinal'),
                'conditions' => array('Formato.tipotrabajo_id' => $tipotrabajo,
                    'Formato.precio <>' => $costo1['Formato']['precio']),
                'order' => array('Formato.precio ASC'),
                'group' => array('Formato.precio')));


            /*             * *********************************************arma el array de costos******************************************************************** */
            if (empty($neighbors))
            {
                /* si el caso ultimo tb es vacio no exiten datos con los parametros introducidos */
                $costos = array('0' => '0.00');
            }

            if (!empty($neighbors))
            {

                $precioprev = $neighbors['prev']['Formato']['precio'];
                if ($precioprev < 1)
                {

                    $precioprev = (($precioprev * ($dim1 * $dim2)) * $canti);
                }

                $precionext = $neighbors['next']['Formato']['precio'];
                if ($precionext < 1)
                {
                    $precionext = $precionext * $canti;
                }
                $precioprev = number_format($precioprev, 2, '.', '');
                $precionext = number_format($precionext, 2, '.', '');

                $costos["$precioprev"] = $precioprev;
                $costos["$precionext"] = $precionext;

                if ($precio != 0)
                    $precio = number_format($precio, 2, '.', '');
                $costos["$precio"] = $precio;

                $array = array($costos, array_keys($costos));
                array_multisort($array[0], SORT_ASC);
                $costos = $array[0];
            } else
            { //si no exiten ni vecinos
                $costos["$precio"] = $precio;
            }

            /*             * *********************************************fin calculo de costo y vecinos******************************************************************** */

            $p = $precio;

            /*             * ****************************calculo del precio por tipo plasitcos y sectorizados****************************************** */

            if ($tipo == 1):
                $precio = ($p * ($dim1 * $dim2)) * $canti;

                $precio = $precio * $cara;
                $redondeo = explode('.', $precio);

                if ($redondeo[1] <= 10):
                    $decimal = 0;
                endif;
                if ($redondeo[1] >= 11 and $redondeo[1] <= 50):
                    $decimal = 0.50;
                endif;
                if ($redondeo[1] >= 51 and $redondeo[1] <= 99):
                    $decimal = 1;
                endif;
                $precio = $redondeo[0] + $decimal;
            endif;

            /*             * ***************************** */
            /* fin calculo del precio por tipo  barniz uv matte brillo****************************************** */

            /*             * ****************************calculo del precio por tipo barniz uv matte brillo****************************************** */
            if ($tipo == 2):

                if ($cantidad < $canti)
                {
                    if ($p < 1)
                    {

                        $precio = $dim1 * $dim2 * $costo1['Formato']['precio'] * $canti;
                    } else
                    {
                        $precio = $p;
                    }
                } else
                {
                    $precio = $p;
                }
                $redondeo = explode('.', $precio);

                if ($redondeo[1] <= 10):
                    $decimal = 0;
                endif;
                if ($redondeo[1] >= 11 and $redondeo[1] <= 50):
                    $decimal = 0.50;
                endif;
                if ($redondeo[1] >= 51 and $redondeo[1] <= 99):
                    $decimal = 1;
                endif;
                $precio = $redondeo[0] + $decimal;
            endif;

            /*             * ***************************** */
            /* fin calculo del precio por tipo  barniz uv matte brillo****************************************** */
            /*             * ****************************calculo del precio por tipo plastico rigido****************************************** */
            if ($tipo == 3)
            {
                //echo "hola 3";
                $preciohoja = $this->Preciohoja->find('all', array('conditions' => array('Preciohoja.id' =>
                        $hoja), 'fields' => array('Preciohoja.precio')));
                $precio = $preciohoja[0]['Preciohoja']['precio'];
                $precio = $precio * $canti * $cara;
                $redondeo = explode('.', $precio);

                if ($redondeo[1] <= 10):
                    $decimal = 0;
                endif;
                if ($redondeo[1] >= 11 and $redondeo[1] <= 50):
                    $decimal = 0.50;
                endif;
                if ($redondeo[1] >= 51 and $redondeo[1] <= 99):
                    $decimal = 1;
                endif;
                $precio = $redondeo[0] + $decimal;
            }
            /*             * ***************************** */
            /* calculo del precio por tipo sectorizados****************************************** */
            if ($tipo == 4)
            {

                debug($costo);
                exit;
                $precio = (($costo1['Formato']['precio'] * $canti) / $costo1['Formato']['cantidadfinal']) *
                        $cara;
                $redondeo = explode('.', $precio);

                if ($redondeo[1] <= 10):
                    $decimal = 0;
                endif;
                if ($redondeo[1] >= 11 and $redondeo[1] <= 50):
                    $decimal = 0.50;
                endif;
                if ($redondeo[1] >= 51 and $redondeo[1] <= 99):
                    $decimal = 1;
                endif;
                $precio = $redondeo[0] + $decimal;
            }
            /*             * ***************************** */
            /* fin calculo del precio por tipo plastico rigido****************************************** */

            /*             * ***************************** */
            /* fin calculo del precio por tipo plastico rigido****************************************** */
            $precio = number_format($precio, 2, '.', '');

            $costos["$precio"] = $precio;
            $array = array($costos, array_keys($costos));

            // use multisort, first on the values, then on the keys. This will erase the indexes in the $searchResult array\
            array_multisort($array[0], SORT_ASC);
            $costos = $array[0];

            $idcosto = "$precio";
        }

        $this->set(compact('costos', 'idcosto', 'n'));
    }

    /*     * **************************fin funcion ajaxcosto***************************************************************************************** */

    public function vacio()
    {
        $this->layout = 'ajax';
    }

    public function editaclientehr($id = null)
    {
        $this->layout = 'ajax';
        if (!empty($this->data))
        {
            $this->Empleadostrabajo->id = $id;
            $this->Empleadostrabajo->read();
            if ($this->Empleadostrabajo->save($this->data))
            {
                $this->Session->setFlash("Empleado modificado");
            }
        } else
        {
            $maquinas = $this->Maquinaria->find('list', array('fields' => array('Maquinaria.nombre')));
            $empleados = $this->Empleado->find('list', array('fields' => array('Empleado.nombre')));
            $empleado = $this->Empleadostrabajo->find('first', array('conditions' => array('Empleadostrabajo.id' =>
                    $id)));
            $this->set(compact('emplado', 'empleados', 'maquinas'));
        }
    }

    public function ajaxeditatipostrabajos($id = null, $idtrab = null)
    {
        $this->layout = 'ajax';
        $tipo = $this->Hojarutatipotrabajo->find('first', array('conditions' => array('Hojarutatipotrabajo.id' =>
                $id), 'recursive' => -1));
        $tipotrabajos = $this->Tipotrabajo->find('list', array('fields' => array('Tipotrabajo.descripcion')));
        $lugartrabajo = array(
            'ANVERSO' => 'ANVERSO',
            'REVERSO' => 'REVERSO',
            'AMBOS' => 'AMBOS');
        $sucursales = $this->Sucursale->find('list', array('fields' => array('Sucursale.id',
                'Sucursale.nombre')));
        $this->set(compact('tipo', 'tipotrabajos', 'lugartrabajo', 'sucursales', 'idtrab'));
        if (!empty($this->data))
        {
            //debug($this->request->data);die;
            $idtrabajo = $id;
            $this->Hojarutatipotrabajo->id = $this->data['Hojarutatipotrabajo']['id'];
            $this->Hojarutatipotrabajo->read();
            if ($this->Hojarutatipotrabajo->save($this->data))
            {
                $this->Session->setFlash("Tipo de trabajo modificado!!!");
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editar",
                    $idtrabajo), null, false);
            } else
            {
                $this->Session->setFlash("no se puedo modificar!!!");
            }
        }
    }

    public function ajaxeditempleado($id = null, $idtrab = null)
    {
        $this->layout = 'ajax';
        if (!empty($this->data))
        {
            $idtrabajo = $id;
            $this->Empleadostrabajo->id = $this->data['Empleadostrabajo']['id'];
            $this->Empleadostrabajo->read();
            if ($this->Empleadostrabajo->save($this->data))
            {
                $this->Session->setFlash("Empleado reasignado!!!");
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editar",
                    $idtrabajo), null, false);
            } else
            {
                $this->Session->setFlash("no se puedo modificar!!!");
            }
        } else
        {
            $empleados = $this->Empleado->find('list', array('fields' => array('Empleado.id',
                    'Empleado.nombre')));
            $maquinas = $this->Maquinaria->find('list', array('fields' => array('Maquinaria.id',
                    'Maquinaria.nombre')));
            $empleado = $this->Empleadostrabajo->find('first', array('conditions' => array('Empleadostrabajo.id' =>
                    $id), 'recursive' => -1));
            $this->set(compact('empleado', 'empleados', 'maquinas', 'idtrab'));
        }
    }

    public function ajaxaddempleado($hojarutaid = null, $idtrab = null)
    {

        $this->layout = 'ajaxadr';

        if (!empty($this->data))
        {
            $idtrabajo = $hojarutaid;
            $this->Empleadostrabajo->create();
            $data = $this->data['Empleadostrabajo'];
            if ($this->Empleadostrabajo->saveAll($data))
            {
                $this->Session->setFlash("Empleados asignados!!!");
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editar",
                    $idtrabajo), null, false);
            } else
            {
                $this->Session->setFlash("no se pudo asignador mas empleados!!!");
            }
        } else
        {
            $empleados = $this->Empleado->find('list', array('fields' => array('Empleado.id',
                    'Empleado.nombre')));
            $maquinas = $this->Maquinaria->find('list', array('fields' => array('Maquinaria.id',
                    'Maquinaria.nombre')));

            $this->set(compact('empleado', 'empleados', 'maquinas', 'idtrab', 'hojarutaid'));
        }
    }

    public function ajaxaddtrabajo($hojarutaid = null, $idtrab = null)
    {
        $this->layout = 'ajaxadr';
        if (!empty($this->data))
        {


            $idtrabajo = $hojarutaid;
            $this->Hojarutatipotrabajo->create();
            $data = $this->data['Hojarutatipotrabajo'];

            if ($this->Hojarutatipotrabajo->saveAll($data))
            {
                $this->Session->setFlash("Trabajos guardados!!!");
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editar",
                    $idtrabajo), null, false);
            } else
            {
                $this->Session->setFlash("no se pudo asignador mas empleados!!!");
            }
        } else
        {

            $sucursales = $this->Sucursale->find('list', array('fields' => array('Sucursale.nombre')));
            $tipotrabajos = $this->Tipotrabajo->find('list', array('fields' => array('Tipotrabajo.descripcion')));
            $lugartrabajo = array(
                'ANVERSO' => 'ANVERSO',
                'REVERSO' => 'REVERSO',
                'AMBOS' => 'AMBOS');

            $this->set(compact('sucursales', 'tipotrabajos', 'lugartrabajo', 'idtrab', 'hojarutaid'));
        }
    }

    public function eliminarempleado($id = null, $idtrab = null)
    {

        if (!$id)
        {
            $this->Session->setFlash('id Invalida para eliminar');
            $this->redirect(array('action' => 'editar', $idtrab), null, true);
        }
        if ($this->Empleadostrabajo->delete($id))
        {
            $this->Session->setFlash('El emplado y m&aacute;quina  ' . $id .
                    ' fue desasignados');
            $this->redirect(array('action' => 'editar', $idtrab), null, true);
        }
    }

    public function eliminartipo($id = null, $idtrab = null)
    {

        if (!$id)
        {
            $this->Session->setFlash('id Invalida para eliminar');
            $this->redirect(array('action' => 'editar', $idtrab), null, true);
        }
        if ($this->Hojarutatipotrabajo->delete($id))
        {
            $this->Session->setFlash('El trabajo ' . $id . ' fue eliminado');
            $this->redirect(array('action' => 'editar', $idtrab), null, true);
        }
    }

    public function ajaxeditinventario($id = null, $idtrab = null)
    {
        $this->layout = 'ajax';
        if (!empty($this->data))
        {
            $idtrabajo = $id;
            $this->Inventariostrabajo->id = $this->data['Inventariostrabajo']['id'];
            $this->Inventariostrabajo->read();
            if ($this->Inventariostrabajo->save($this->data))
            {
                $this->Session->setFlash("Producto del inventario editado!!!");
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editar",
                    $idtrabajo), null, false);
            } else
            {
                $this->Session->setFlash("no se puedo modificar!!!");
            }
        } else
        {
            $dato = $this->Inventariostrabajo->find('first', array('conditions' => array('Inventariostrabajo.id' =>
                    $id)));
            $datosinventario = $this->Inventario->find('all', array('fields' => array('Inventario.id',
                    'Producto.nombre')));
            $inventariodatos = array();
            foreach ($datosinventario as $in):
                $k = $in['Inventario']['id'];
                $inventariodatos[$k] = $in['Producto']['nombre'];
            endforeach;
            $this->set(compact('dato', 'id', 'idtrab', 'inventariodatos'));
        }
    }

    public function ajaxaddproducto($hojarutaid = null, $idtrab = null)
    {
        $this->layout = 'ajaxadr';
        if (!empty($this->data))
        {
            //debug($this->data);exit;
            $idtrabajo = $hojarutaid;
            $this->Inventariostrabajo->create();
            $data = $this->data['Inventariostrabajo'];
            if ($this->Inventariostrabajo->saveAll($data))
            {
                $this->Session->setFlash("Productos de inventario guardados!!!");
                //debug($data);exit;
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editar",
                    $idtrabajo), null, false);
            } else
            {
                $this->Session->setFlash("no se pudo asignador mas productos!!!");
                //debug($data);exit;
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editar",
                    $idtrabajo), null, false);
            }
        } else
        {
            $inventario = $this->Inventario->find('all', array('fields' => array('Inventario.id',
                    'Producto.nombre')));
            $inventarios = array();
            foreach ($inventario as $in):
                $k = $in['Inventario']['id'];
                $inventarios[$k] = $in['Producto']['nombre'];
            endforeach;
            //debug($inventarios);exit;
            $this->set(compact('inventarios', 'idtrab', 'hojarutaid'));
        }
    }

    public function eliminarproductoinv($id = null, $idtrab = null)
    {
        if (!$id)
        {
            $this->Session->setFlash('id Invalida para eliminar');
            $this->redirect(array('action' => 'editar', $idtrab), null, true);
        }
        if ($this->Inventariostrabajo->delete($id))
        {
            $this->Session->setFlash('El producto ' . $id .
                    ' fue desasignado de la hoja de ruta');
            $this->redirect(array('action' => 'editar', $idtrab), null, true);
        }
    }

    public function verhojaproduccion($idtrabajo = null, $idhojaruta = null)
    {
        $hoja = $this->Hojasproduccione->find('all', array('conditions' => array(
                'Hojasproduccione.trabajo_id' => $idtrabajo
                , 'Hojasproduccione.hojaruta_id' => $idhojaruta
        )));
        $trabajo_id = $hoja[0]['Hojasproduccione']['trabajo_id'];
        $array = explode(" ", $hoja[0]['Hojasproduccione']['fecha']);
        $cliente = $this->Trabajo->find('first', array('conditions' => array('Trabajo.id' =>
                $trabajo_id)));
        $horas = $array['1'];
        $array = $array['0'];
        $array = explode("-", $array);
        $anio = $array[0];
        $mes = $array[1];
        $dia = $array[2];
        $notaremision = $this->Notaremisione->find('first', array('conditions' => array
                ('Notaremisione.trabajo_id' => $idtrabajo, 'Notaremisione.hojaruta_id' => $idhojaruta)));
        $notaentrega = $this->Notaentrega->find('first', array('conditions' => array('Notaentrega.trabajo_id' =>
                $idtrabajo, 'Notaentrega.hojaruta_id' => $idhojaruta)));

        $micras = $this->Movimientostrabajo->find('all', array('recursive' => -1, 'conditions' => array('Movimientostrabajo.trabajo_id' =>
                $trabajo_id)));
        //debug($micras);exit;
        //debug($hoja);exit;
        $this->set(compact('hoja', 'dia', 'mes', 'anio', 'horas', 'cliente', 'notaremision', 'notaentrega', 'micras'));
    }

    public function editarhojaproduccion($idtrabajo = null, $idhojaruta = null)
    {


        $hoja = $this->Hojasproduccione->find('all', array('conditions' => array('Hojasproduccione.trabajo_id' => $idtrabajo, 'Hojasproduccione.hojaruta_id' =>
                $idhojaruta), 'recursive' => 2));

        $nombre_cliente = $hoja[0]['Trabajo']['Cliente']['nombre'];

        //DEBUG($nombre_cliente);

        $array = explode(" ", $hoja[0]['Hojasproduccione']['fecha']);

        $horas = $array['1'];
        $array = $array['0'];
        $array = explode("-", $array);

        $anio = $array[0];
        $mes = $array[1];
        $dia = $array[2];
        //debug($hoja);exit;
        $this->set(compact('hoja', 'dia', 'mes', 'anio', 'horas', 'nombre_cliente', 'idtrabajo', 'idhojaruta'));
    }

    public function ajax_edit_hojaproduccion_registro($id = null, $idtrabajo = null, $idhojaruta = null)
    {
        $this->layout = "ajax";

        $this->Hojasproduccione->id = $id;
        if (!$id)
        {
            $this->Session->setFlash('No existe tal registro');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if (empty($this->data))
        {
            $this->data = $this->Hojasproduccione->read(); //find(array('id' => $id));
        } else
        {

            $this->request->data['Hojasproduccione']['precio'] = $this->data['subtotal'];
            unset($this->request->data['subtotal']);
            //debug($this->data);exit;
            if ($this->Hojasproduccione->save($this->data))
            {
                $this->Session->setFlash('Los datos fueron modificados');
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editarhojaproduccion",
                    $idtrabajo,
                    $idhojaruta), null, false);
            } else
            {
                $this->Session->setFlash('no se pudo modificar!!');
                $this->redirect(array(
                    "controller" => "Trabajos",
                    "action" => "editarhojaproduccion",
                    $idtrabajo,
                    $idhojaruta), null, false);
            }
        }

        $formatoshojas = $this->Preciohoja->find('list', array('fields' => array('Preciohoja.id',
                'Preciohoja.nombre')));
        $val = $this->Formato->find('all', array('fields' => array('Formato.id',
                'Formato.precio'), 'conditions' => array('Formato.tipotrabajo_id' => 6)));
        foreach ($val as $val1)
        {

            $valor[$val1['Formato']['precio']] = $val1['Formato']['precio'];
        }
        $this->set(compact('formatoshojas', 'valor'));
    }

    function ajax_edit_hojaproduccion_tipofac($idtrabajo = null, $idhojaruta)
    {

        if (!empty($this->data)):
            $data = $this->Hojasproduccione->find('first', array('conditions' => array('Hojasproduccione.trabajo_id' =>
                    $idtrabajo, 'Hojasproduccione.hojaruta_id' => $idhojaruta)));

            $id = $data['Hojasproduccione']['id'];
            $this->Hojasproduccione->id = $id;
            $mydata = $this->Hojasproduccione->read();
            //debug($this->data);
            $mydata['Hojasproduccione']['nr'] = $this->data['Hojasproduccione']['nr'];
            $mydata['Hojasproduccione']['nf'] = $this->data['Hojasproduccione']['nf'];

            $this->Hojasproduccione->save($mydata);
            $this->Session->setFlash('Los datos fueron modificados');
            $this->redirect(array(
                "controller" => "Trabajos",
                "action" => "editarhojaproduccion",
                $idtrabajo,
                $idhojaruta), null, false);

        endif;
        $this->layout = 'ajax';
        $this->data = $this->Hojasproduccione->find('first', array('conditions' => array
                ('Hojasproduccione.trabajo_id' => $idtrabajo, 'Hojasproduccione.hojaruta_id' =>
                $idhojaruta)));
        $this->set(compact('idtrabajo', 'idhojaruta'));
    }

    function ajaxeditcosto($tipotrabajo = null, $canti = null, $dim1 = null, $dim2 = null, $tipo = null, $cara = null, $hoja = null)
    {

        $this->layout = 'ajax';
        /*         * valida si los datos estan vacios* */
        if ($canti == null || $dim1 == null || $dim2 == null)
        {
            $costos = array('0' => '0.00');
            ;
            $idcosto = 0;
        } else
        {

            $costo1 = $this->Formato->find('first', array('conditions' => array(
                    'Formato.tipotrabajo_id' => $tipotrabajo,
                    'Formato.cantidadinicial <=' => $canti,
                    'Formato.cantidadfinal >=' => $canti,
                    'Formato.desdemedini <=' => $dim1,
                    'Formato.hastamedini >=' => $dim1,
                    'Formato.desdemedfin <=' => $dim2,
                    'Formato.hastamedfin >=' => $dim2,
                ), 'order' => array('Formato.precio DESC')));


            if (empty($costo1) && $tipo == 2)
            {

                $costo1 = $this->Formato->find('first', array(
                    'conditions' => array(
                        'Formato.tipotrabajo_id' => $tipotrabajo,
                        'Formato.desdemedini <=' => $dim1,
                        'Formato.hastamedini >=' => $dim1,
                        'Formato.desdemedfin <=' => $dim2,
                        'Formato.hastamedfin >=' => $dim2,
                        'Formato.cantidadfinal <=' => $canti),
                    'order' => array('Formato.precio DESC'),
                    'group' => array('Formato.precio')));
            } elseif (empty($costo1))
            {
                $costo1 = $this->Formato->find('first', array(
                    'conditions' => array(
                        'Formato.tipotrabajo_id' => $tipotrabajo,
                        'Formato.cantidadinicial <=' => $canti,
                        'Formato.cantidadfinal >=' => $canti),
                    'order' => array('Formato.precio ASC'),
                    'group' => array('Formato.precio')));
            }


            /* obtener el rango y precio para el tipo de trabajo sectorizado */
            if ($tipo == 4)
            {
                $rango = $dim1 * $dim2;
                $costo1 = $this->Formato->find('first', array('conditions' => array(
                        'Formato.tipotrabajo_id' => $tipotrabajo,
                        'Formato.cantidadinicial <=' => $canti,
                        'Formato.cantidadfinal >=' => $canti,
                        'Formato.rangoini <=' => $rango,
                        'Formato.rangofin >=' => $rango), 'order' => array('Formato.id DESC')));
                if (empty($costo1))
                {
                    $costo1 = $this->Formato->find('first', array(
                        'conditions' => array(
                            'Formato.tipotrabajo_id' => $tipotrabajo,
                            'Formato.rangoini <=' => $rango,
                            'Formato.rangofin >=' => $rango,
                            'Formato.cantidadfinal <=' => $canti),
                        'order' => array('Formato.precio ASC'),
                        'group' => array('Formato.precio')));
                }
            } //fin rango de precios tipo sectorizados

            if (empty($costo1))
            {
                $precio = 0;
                $cantidad = 1;
            } else
            {

                $precio = $costo1['Formato']['precio'];
                $cantidad = $costo1['Formato']['cantidadfinal'];
            }

            $neighbors = $this->Formato->find('neighbors', array(
                'field' => 'precio',
                'value' => $precio,
                'fields' => array(
                    'Formato.id',
                    'Formato.precio',
                    'Formato.cantidadfinal'),
                'conditions' => array('Formato.tipotrabajo_id' => $tipotrabajo,
                    'Formato.precio <>' => $costo1['Formato']['precio']),
                'order' => array('Formato.precio ASC'),
                'group' => array('Formato.precio')));


            /*             * *********************************************arma el array de costos******************************************************************** */
            if (empty($neighbors))
            {
                /* si el caso ultimo tb es vacio no exiten datos con los parametros introducidos */
                $costos = array('0' => '0.00');
            }

            if (!empty($neighbors))
            {

                $precioprev = $neighbors['prev']['Formato']['precio'];
                if ($precioprev < 1)
                {

                    $precioprev = (($precioprev * ($dim1 * $dim2)) * $canti);
                }

                $precionext = $neighbors['next']['Formato']['precio'];
                if ($precionext < 1)
                {
                    $precionext = $precionext * $canti;
                }
                $precioprev = number_format($precioprev, 2, '.', '');
                $precionext = number_format($precionext, 2, '.', '');

                $costos["$precioprev"] = $precioprev;
                $costos["$precionext"] = $precionext;

                if ($precio != 0)
                    $precio = number_format($precio, 2, '.', '');
                $costos["$precio"] = $precio;

                $array = array($costos, array_keys($costos));
                array_multisort($array[0], SORT_ASC);
                $costos = $array[0];
            } else
            { //si no exiten ni vecinos
                $costos["$precio"] = $precio;
            }

            /*             * *********************************************fin calculo de costo y vecinos******************************************************************** */

            $p = $precio;

            /*             * ****************************calculo del precio por tipo plasitcos y sectorizados****************************************** */

            if ($tipo == 1):
                $precio = ($p * ($dim1 * $dim2)) * $canti;

                $precio = $precio * $cara;

            endif;

            /*             * ***************************** */
            /* fin calculo del precio por tipo  barniz uv matte brillo****************************************** */

            /*             * ****************************calculo del precio por tipo barniz uv matte brillo****************************************** */
            if ($tipo == 2):

                if ($cantidad < $canti)
                {
                    if ($p < 1)
                    {

                        $precio = $dim1 * $dim2 * $costo1['Formato']['precio'] * $canti;
                    } else
                    {
                        $precio = $p;
                    }
                } else
                {
                    $precio = $p;
                }

            endif;

            /*             * ***************************** */
            /* fin calculo del precio por tipo  barniz uv matte brillo****************************************** */
            /*             * ****************************calculo del precio por tipo plastico rigido****************************************** */
            if ($tipo == 3)
            {
                //echo "hola 3";
                $preciohoja = $this->Preciohoja->find('all', array('conditions' => array('Preciohoja.id' =>
                        $hoja), 'fields' => array('Preciohoja.precio')));
                $precio = $preciohoja[0]['Preciohoja']['precio'];
                $precio = $precio * $canti * $cara;
            }
            /*             * ***************************** */
            /* calculo del precio por tipo sectorizados****************************************** */
            if ($tipo == 4)
            {

                $precio = (($costo1['Formato']['precio'] * $canti) / $costo1['Formato']['cantidadfinal']) *
                        $cara;
            }
            /*             * ***************************** */
            /* fin calculo del precio por tipo plastico rigido****************************************** */

            /*             * ***************************** */
            /* fin calculo del precio por tipo plastico rigido****************************************** */
            $precio = number_format($precio, 2, '.', '');

            $costos["$precio"] = $precio;
            $array = array($costos, array_keys($costos));

            // use multisort, first on the values, then on the keys. This will erase the indexes in the $searchResult array\
            array_multisort($array[0], SORT_ASC);
            $costos = $array[0];

            $idcosto = "$precio";
        }

        $this->set(compact('costos', 'idcosto'));
    }

    public function produccion($id = null)
    {
        $trabajo = $this->Trabajo->find('first', array('conditions' => array('Trabajo.id' =>
                $id)));
        $trabajo1 = $this->Hojasruta->find('first', array('conditions' => array('Hojasruta.trabajo_id' =>
                $id)));
        $trabajo2 = $this->Hojasproduccione->find('first', array('conditions' => array('Hojasproduccione.trabajo_id' =>
                $id)));

        $cliente['Cliente']['nombre'] = $trabajo['Cliente']['nombre'];
        $cliente['Cliente']['telefono'] = $trabajo['Cliente']['telefono'];
        $cliente['Cliente']['celular'] = $trabajo['Cliente']['celular'];
        $empleados = $trabajo1['Empleadostrabajo'];
        $tipostrabajo = $trabajo1['Hojarutatipotrabajo'];
        //debug($tipostrabajo);exit;
        $i = 0;
        $k = 0;
        foreach ($empleados as $em):
            $empleado = $this->Empleado->find('first', array('conditions' => array('Empleado.id' =>
                    $em['empleado_id'])));
            $maquinaria = $this->Maquinaria->find('first', array('conditions' => array('Maquinaria.id' =>
                    $em['maquinaria_id'])));
            $nombre_empleado[$i] = array("nom_empleado" => $empleado['Empleado']['nombre'],
                "maquina" => $maquinaria['Maquinaria']['nombre']);
            $i++;
        endforeach;

        foreach ($tipostrabajo as $tipos):
            $tipotrabajos1 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo1_id'])));
            $tipotrabajos2 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo2_id'])));
            $tipotrabajos3 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo3_id'])));
            $tipotrabajos4 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                    $tipos['tipotrabajo4_id'])));

            $recibos[$k] = $this->Reciboproduccione->find('all', array('conditions' => array
                    ('Reciboproduccione.hojarutatipotrabajo_id' => $tipos['id'])));
            $sucursal = $this->Sucursale->find('first', array('conditions' => array('Sucursale.id' =>
                    $tipos['sucursale_id'])));
            $tipo[$k] = array(
                "tipotrabajo1" => $tipotrabajos1['Tipotrabajo']['descripcion'],
                "tipotrabajo2" => $tipotrabajos2['Tipotrabajo']['descripcion'],
                "tipotrabajo3" => $tipotrabajos3['Tipotrabajo']['descripcion'],
                "tipotrabajo4" => $tipotrabajos4['Tipotrabajo']['descripcion'],
                'descripcion' => $tipos['descripcion'],
                'cantidad_nominal' => $tipos['cantidad_nominal'],
                'sucursal' => $sucursal['Sucursale']['nombre'],
                'cara1' => $tipos['cara1'],
                'cara2' => $tipos['cara2'],
                'cara3' => $tipos['cara3'],
                'cara4' => $tipos['cara4'],
                'id_hojarutatipotrabajo' => $tipos['id'],
                'recibos' => $recibos[$k]);
            $k++;
        endforeach;
        // debug($trabajo);
        //debug($trabajo2);exit;


        $a = 0;

        if ($trabajo['Trabajo']['id'] == $trabajo2['Hojasproduccione']['trabajo_id'])
        {
            $hp = 1;
            $a = 1;
        }

        if ($a == 0)
        {
            $hp = 0;
        }
        //debug($trabajo1);exit;
        $this->set(compact('trabajo', 'trabajo1', 'nombre_empleado', 'tipo', 'cliente', 'recibos', 'id', 'hp'));
    }

    function ajaxdatosparciales($id = null, $id2 = null)
    {
        //debug($this->request->data);die;
        if (!empty($this->data)):

            $this->request->data['Reciboproduccione']['fecha'] = date('Y-m-d');
            //debug($this->data);exit;
            if ($this->Reciboproduccione->save($this->data))
            {
                $this->Session->setFlash("Se ha registrado con exito!");

                $this->redirect(array('action' => 'produccion', $id2));
            } else
            {
                $this->Session->setFlash("error al crear!!!");
                $this->redirect(array('action' => 'produccion', $id2));
            }
        else:
            $this->layout = 'ajax';
            $tipotrabajo = $this->Hojarutatipotrabajo->find('first', array('conditions' =>
                array('Hojarutatipotrabajo.id' => $id)));
        endif;

        $this->set(compact('tipotrabajo'));
    }

    function imprimerecibo($id = null)
    {
        $data = $this->Reciboproduccione->find('first', array('conditions' => array('Reciboproduccione.id' =>
                $id)));

        $trabajo = $this->Hojasruta->find('first', array('conditions' => array('Hojasruta.id' =>
                $data['Hojarutatipotrabajo']['hojasruta_id'])));
        $tipo1 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                $data['Hojarutatipotrabajo']['tipotrabajo1_id'])));
        $tipo2 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                $data['Hojarutatipotrabajo']['tipotrabajo2_id'])));
        $tipo3 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                $data['Hojarutatipotrabajo']['tipotrabajo3_id'])));
        $tipo4 = $this->Tipotrabajo->find('first', array('conditions' => array('Tipotrabajo.id' =>
                $data['Hojarutatipotrabajo']['tipotrabajo4_id'])));
        $this->set(compact('data', 'trabajo', 'tipo1', 'tipo2', 'tipo3', 'tipo4'));
    }

    function imprimirnotaentrega($idtrabajo = null, $idhojaruta = null)
    {
        //debug($idhojaruta);
        //debug($idtrabajo);
        $hoja = $this->Hojasproduccione->find('all', array('conditions' => array('Hojasproduccione.trabajo_id' =>
                $idtrabajo, 'Hojasproduccione.hojaruta_id' => $idhojaruta)));
        //debug($hoja);exit;
        $trabajo_id = $hoja[0]['Hojasproduccione']['trabajo_id'];
        $array = explode(" ", $hoja[0]['Hojasproduccione']['fecha']);
        $cliente = $this->Trabajo->find('first', array('conditions' => array('Trabajo.id' =>
                $trabajo_id)));
        $horas = $array['1'];
        $array = $array['0'];
        $array = explode("-", $array);
        $anio = $array[0];
        $mes = $array[1];
        $dia = $array[2];
        $contador = $this->Notaentrega->find('first', array('conditions' => array('Notaentrega.trabajo_id' =>
                $idtrabajo, 'Notaentrega.hojaruta_id' => $idhojaruta)));
        $id_entrega = $contador['Notaentrega']['id'];
        $this->set(compact('hoja', 'dia', 'mes', 'anio', 'horas', 'cliente', 'contador', 'id_entrega', 'idtrabajo', 'idhojaruta'));
    }

    function notaremision($idtrabajo = null, $idhojaruta = null)
    {

        if (!empty($this->request->data)):
            //debug($this->request->data);exit;
            $this->Notaremisione->create();
            $fecha = $this->Fechasconvert->doInvertir($this->request->data['Notaremisione']['fecha']);
            $this->request->data['Notaremisione']['fecha'] = $fecha;
            //debug($this->request->data);exit;
            if ($this->Notaremisione->save($this->request->data))
            {
                $data = array('id' => $this->request->data['Notaremisione']['trabajo_id'], 'estadostrabajo_id' => 3);
                $this->Trabajo->save($data);
                $this->redirect(array(
                    'action' => 'imprimirnotaremision',
                    $idtrabajo,
                    $idhojaruta), null, true);
            } else
            {
                $this->Session->setFlash('No se pudo registrar!!!');
            }
        endif;

        $existe = $this->Notaremisione->find('first', array(
            'conditions' => array('Notaremisione.trabajo_id' => $idtrabajo)));
        if (!empty($existe))
        {
            $this->Session->setFlash('Ya se registraron los datos de la nota de remision', 'msgbueno');
            $this->redirect(array('action' => 'imprimirnotaremision', $idtrabajo, $idhojaruta));
        }
        $idSucursal = $this->Session->read("Auth.User.sucursale_id");

        $consulta = $this->Notaremisione->find('first', array(
            'conditions' => array('Notaremisione.sucursale_id' => $idSucursal),
            'order' => array('Notaremisione.id DESC'),
            'recursive' => -1));
        if(empty($consulta))
        {
            $this->Session->setFlash('Ocurrio un error interno intente nuevamente!!!!','msgerror');
            $this->redirect($this->referer());
        }
        $numero = $consulta['Notaremisione']['numero'];
        $hoja = $this->Hojasproduccione->find('all', array(
            'conditions' => array(
                'Hojasproduccione.trabajo_id' => $idtrabajo,
                'Hojasproduccione.hojaruta_id' => $idhojaruta),
            'fields' => array('SUM(Hojasproduccione.precio) as total')));
        $hoja2 = $this->Hojasproduccione->find('all', array('recursive' => -1,
            'conditions' => array(
                'Hojasproduccione.trabajo_id' => $idtrabajo,
                'Hojasproduccione.hojaruta_id' => $idhojaruta),
            'fields' => array('date(Hojasproduccione.fecha) as fecha')));
        //debug($hoja2);exit;
        $fechapro = split('-',$hoja2[0][0]['fecha']);
        //debug($fechapro);exit;
        $tot = $hoja['0']['0']['total'];
        $total = number_format($hoja['0']['0']['total'], '0', ',', '.');
        //$total = number_format($hoja['0']['0']['total']);

        $this->set(compact('numero', 'idtrabajo', 'idhojaruta', 'idSucursal', 'total', 'tot','fechapro'));
    }

    function notaentrega($idtrabajo = null, $idhojaruta = null)
    {

        if (!empty($this->request->data))
        {
            //debug($this->request->data);exit;

            $this->Notaentrega->create();
            $fecha = explode('-', $this->data['Notaentrega']['fecha']);
            $this->request->data['Notaentrega']['fecha'] = $fecha[2] . '-' . $fecha[1] . '-' . $fecha[0];

            if ($this->Notaentrega->save($this->data))
            {
                $data = array('id' => $this->request->data['Notaentrega']['trabajo_id'], 'estadostrabajo_id' => 3);
                $this->Trabajo->save($data);
                $this->redirect(array(
                    'action' => 'imprimirnotaentrega',
                    $idtrabajo,
                    $idhojaruta), null, true);
            } else
            {
                $this->Session->setFlash('No se pudo registrar!!!');
            }
        }
        $existe = $this->Notaentrega->find('first', array(
            'conditions' => array('Notaentrega.trabajo_id' => $idtrabajo)));
        if (!empty($existe))
        {
            $this->Session->setFlash('Ya se registraron los datos de la nota de remision', 'msgbueno');
            $this->redirect(array('action' => 'imprimirnotaremision', $idtrabajo, $idhojaruta));
        }
        $sucursal_id = $this->Session->read('Auth.User.sucursale_id');

        $consulta = $this->Notaentrega->find('first', array('conditions' => array('Notaentrega.sucursal_id' =>
                $sucursal_id), 'fields' => array('MAX(Notaentrega.numero) AS numero', '*')));
        //debug($consulta);
        $numero = $consulta[0]['numero'];

        $hoja = $this->Hojasproduccione->find('all', array(
            'conditions' => array(
                'Hojasproduccione.trabajo_id' => $idtrabajo,
                'Hojasproduccione.hojaruta_id' => $idhojaruta),
            'fields' => array('SUM(Hojasproduccione.precio) as total')));
        $hoja2 = $this->Hojasproduccione->find('all', array('recursive' => -1,
            'conditions' => array(
                'Hojasproduccione.trabajo_id' => $idtrabajo,
                'Hojasproduccione.hojaruta_id' => $idhojaruta),
            'fields' => array('date(Hojasproduccione.fecha) as fecha')));
        //debug($hoja2);exit;
        $fechapro = split('-',$hoja2[0][0]['fecha']);
        $tot = $hoja['0']['0']['total'];
        //$total = number_format($hoja['0']['0']['total'], '2', ',', '.');
        $total = number_format($hoja['0']['0']['total'], '0', ',', '.');
        $this->set(compact('numero', 'idtrabajo', 'idhojaruta', 'total', 'tot','fechapro'));
    }

    function imprimirnotaremision($idtrabajo = null, $idhojaruta = null)
    {
        $hoja = $this->Hojasproduccione->find('all', array('conditions' => array('Hojasproduccione.trabajo_id' =>
                $idtrabajo, 'Hojasproduccione.hojaruta_id' => $idhojaruta)));
        $trabajo_id = $hoja[0]['Hojasproduccione']['trabajo_id'];
        $array = explode(" ", $hoja[0]['Hojasproduccione']['fecha']);
        $cliente = $this->Trabajo->find('first', array('conditions' => array('Trabajo.id' =>
                $trabajo_id)));
        $horas = $array['1'];
        $array = $array['0'];
        $array = explode("-", $array);
        $anio = $array[0];
        $mes = $array[1];
        $dia = $array[2];
        $notaremision = $this->Notaremisione->find('first', array('conditions' => array
                ('Notaremisione.trabajo_id' => $idtrabajo, 'Notaremisione.hojaruta_id' => $idhojaruta)));
        $trabajo = $this->Trabajo->find('first', array(
            'conditions' => array('Trabajo.id' => $idtrabajo), 'recursive' => -1
        ));

        $this->set(compact('hoja', 'dia', 'mes', 'anio', 'horas', 'cliente', 'notaremision', 'trabajo'));
    }

    function tablaplastico()
    {
        $this->layout = 'ajax';
    }

    function tablasectorizado()
    {
        $this->layout = 'ajax';
    }

    function tablauvmate()
    {
        $this->layout = 'ajax';
    }

    function tablauvbrillo()
    {
        $this->layout = 'ajax';
    }

    function editaremisiones($id = null)
    {


        $this->Notaremisione->id = $id;
        if (!$id)
        {
            $this->Session->setFlash('No existe!');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if (empty($this->data))
        {
            $this->data = $this->Notaremisione->read();
            $fecha = explode('-', $this->data['Notaremisione']['fecha']);
            $this->request->data['Notaremisione']['fecha'] = $fecha[2] . '-' . $fecha[1] .
                    '-' . $fecha[0];
        } else
        {
            //debug($this->data);exit;
            $fecha = explode('-', $this->data['Notaremisione']['fecha']);
            $this->request->data['Notaremisione']['fecha'] = $fecha[2] . '-' . $fecha[1] .
                    '-' . $fecha[0];
            if ($this->Notaremisione->save($this->data))
            {
                $this->Session->setFlash('Los datos fueron modificados');
                $this->redirect(array('action' => 'index'), null, true);
            } else
            {
                
            }
        }
    }

    function hojarutaimprime($id_trabajo = null, $tipo = null, $hojaruta = null)
    {
        //debug($this->request->data);die;
        $this->layout = 'ajax';

        $sucursalTrabajo = $this->Trabajo->find('first', array('recursive' => -1,
            'conditions' => array('Trabajo.id' => $id_trabajo)));

        if (!empty($this->request->data) and $tipo == 'sinproduccion')
        {
            $guardo = 0;
            $i = 0;

            foreach ($this->request->data['Myhojasruta'] as $dato)
            {

                $this->Myhojasruta->create();

                if ($this->Myhojasruta->save($dato))
                    $guardo++;
                $i++;
            }

            if ($guardo == $i)
            {
                $this->redirect(array('action' => 'imprimirhp', $id_trabajo));
            } else
            {
                $this->Session->setFlash('No se pudo registrar!!!');
            }
        }

//            if (!empty($this->data) and $tipo == 'conproduccion') {
//                $this->Myhojasruta->create();
//                $this->request->data['Myhojasruta']['sucursal_id'] = $this->Session->read('sucursal_id');
//                $this->request->data['Myhojasruta']['trabajo_id'] = $id_trabajo;
//                $fecha = explode('/', $this->data['Myhojasruta']['fecha']);
//                $this->request->data['Myhojasruta']['fecha'] = $fecha[2] . '-' . $fecha[1] . '-' .
//                    $fecha[0];
//                //debug($this->data);exit;
//                if ($this->Myhojasruta->save($this->data)) {
//                    $this->redirect(array('action' => 'imprimirhp', $id_trabajo), null, true);
//                } else {
//                    $this->Session->setFlash('No se pudo registrar!!!');
//                }
//            }
        /**
         *  $consulta = $this->Myhojasruta->find('first', array('conditions' => array('Myhojasruta.sucursal_id' => $this->Session->read('sucursal_id')), 'fields' => array('MAX(Myhojasruta.numero) AS numero', '*')));
         *         $numero = $consulta[0]['numero'];
         */
        $ultimoNumero = array();
        $i = 0;

        $sucursales = $this->Hojarutatipotrabajo->find('all', array(
            'conditions' => array('Hojarutatipotrabajo.hojasruta_id' => $hojaruta),
            'group' => array('Hojarutatipotrabajo.sucursale_id')
        ));

        foreach ($sucursales as $s)
        {
            $ultimoNumero[$i] = $this->Myhojasruta->find('first', array(
                'fields' => array('Myhojasruta.numero', 'Sucursale.nombre', 'Sucursale.id'),
                'order' => 'Myhojasruta.id DESC',
                'conditions' => array(
                    'Myhojasruta.sucursale_id' => $s['Hojarutatipotrabajo']['sucursale_id']
            )));
            $i++;
        }
        $this->set(compact('ultimoNumero', 'id_trabajo'));
    }

    function borrarproduccion($id = null, $trabajo_id = null, $hojaruta_id = null)
    {


        if (!$id)
        {
            $this->Session->setFlash('id Invalida para reclamo');
            $this->redirect(array(
                'action' => 'editarhojaproduccion',
                $trabajo_id,
                $hojaruta_id), null, true);
        }
        if ($this->Hojasproduccione->delete($id))
        {
            $this->Session->setFlash('El dato fue eliminado');
            $this->redirect(array(
                'action' => 'editarhojaproduccion',
                $trabajo_id,
                $hojaruta_id), null, true);
        }
    }

    function editarnotaremisiones($id = null)
    {
        //debug($id);exit;
        $this->Notaremisione->id = $id;
        if (!$id)
        {
            $this->Session->setFlash('No existe tal registro');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if (empty($this->request->data))
        {
            $this->request->data = $this->Notaremisione->read();
            $idtrabajo = $this->request->data['Notaremisione']['trabajo_id'];
            $idhojaruta = $this->request->data['Notaremisione']['hojaruta_id'];
            $fecha = $this->Fechasconvert->doRevertir($this->request->data['Notaremisione']['fecha']);
            $this->request->data['Notaremisione']['fecha'] = $fecha;

            $hoja = $this->Hojasproduccione->find('all', array(
                'conditions' => array(
                    'Hojasproduccione.trabajo_id' => $idtrabajo,
                    'Hojasproduccione.hojaruta_id' => $idhojaruta),
                'fields' => array('SUM(Hojasproduccione.precio) as total')));
            $tot = $hoja['0']['0']['total'];
            $total = number_format($hoja['0']['0']['total'], '2', ',', '.');
            $this->set(compact('total', 'tot', 'idtrabajo', 'idhojaruta'));
            //find(array('id' => $id));
        } else
        {

            $fecha = $this->Fechasconvert->doRevert($this->request->data['Notaremisione']['fecha']);
            $this->request->data['Notaremisione']['fecha'] = $fecha;
            if ($this->Notaremisione->save($this->request->data))
            {
                $this->Session->setFlash('Los datos fueron modificados');
                $trabajo = $this->request->data['Notaremisione']['trabajo_id'];
                $hruta = $this->request->data['Notaremisione']['hojaruta_id'];

                $this->redirect(array('action' => 'imprimirnotaremision', $trabajo, $hruta), null, true);
            } else
            {
                $this->Session->setFlash('no se pudo modificar!!');
            }
        }
    }

    function editarnotaentrega($id = null)
    {
        //debug($id);exit;
        $this->Notaentrega->id = $id;
        if (!$id)
        {
            $this->Session->setFlash('No existe tal registro');
            $this->redirect(array('action' => 'index'), null, true);
        }
        if (empty($this->request->data))
        {
            $this->request->data = $this->Notaentrega->read(); //find(array('id' => $id));
            $fecha = explode('-', $this->request->data['Notaentrega']['fecha']);
            $this->request->data['Notaentrega']['fecha'] = $fecha[0] . '-' . $fecha[1] . '-' . $fecha[2];
        } else
        {
            $fecha = explode('-', $this->data['Notaentrega']['fecha']);
            $this->request->data['Notaentrega']['fecha'] = $fecha[2] . '-' . $fecha[1] . '-' . $fecha[0];

            if ($this->Notaentrega->save($this->request->data))
            {
                $this->Session->setFlash('Los datos fueron modificados');
                $idtrabajo = $this->request->data['Notaentrega']['trabajo_id'];
                $idhojaruta = $this->request->data['Notaentrega']['hojaruta_id'];
                $this->redirect(array('action' => 'imprimirnotaentrega', $idtrabajo, $idhojaruta), null, true);
            } else
            {
                $this->Session->setFlash('no se pudo modificar!!');
            }
        }
        $consulta = $this->Notaentrega->find('first', array('fields' => array('MAX(Notaentrega.numero) AS numero',
                '*')));
        $numero = $consulta[0]['numero'];
        $this->set(compact('numero'));
    }

    function inventario($trabajo_id = null)
    {
        $hojasproduccion = $this->Hojasproduccione->find('all', array('conditions' => array('Hojasproduccione.trabajo_id' => $trabajo_id)));

        if (!empty($this->request->data))
        {
            //debug($this->request->data);exit;
            $i = 0;
            foreach ($this->request->data['Inventario'] as $dato)
            {
                $trabajo_id = $dato['trabajo_id'];

                if ($dato['litros'] == 0)
                {
                    $formato = $dato['metrajeini'] * $dato['metrajefin'];
                    $cantidad = $dato['cantidad'];
                    $usado = (($formato * $cantidad) / 1000) * $dato['micras'];

                    $tubo = $this->Cortestubo->find('first', array('conditions' => array('Cortestubo.codigo' => $dato['codigo'])));

                    if (!empty($tubo)):
                        $idTubo = $tubo['Cortestubo']['id'];

                        $exite = $this->Movimientostrabajo->find('first', array(
                            'conditions' => array('Movimientostrabajo.cortestubo_id' => $idTubo),
                            'order' => array('Movimientostrabajo.id DESC')));
                    else:
                        $idTubo = "";
                        $exite = '';
                    endif;


                    if (!empty($tubo))
                    {
                        if (!empty($existe))
                        {
                            $peso = $exite['Movimientostrabajo']['sobra'];
                        } else
                            $peso = $tubo['Cortestubo']['peso'];
                        $sobrante = $peso - $usado;
                        $data = array();
                        $data = array(
                            'cortestubo_id' => $tubo['Cortestubo']['id'],
                            'sobra' => $sobrante, 'usado' => $usado,
                            'trabajo_id' => $trabajo_id,
                            'hojasproduccione_id' => $dato['hojaproduccion_id'],
                            'micraje' => $dato['micras']);
                        $this->Movimientostrabajo->create();
                        if (!($this->Movimientostrabajo->save($data)))
                        {
                            $this->Movimientostrabajo->deleteAll(array('Movimientostrabajo.trabajo_id' => $trabajo_id));
                            $this->Session->setFlash('ERROR EN EL REGISTRO INTENTE DE NUEVO ', 'msgerror');
                            $this->redirect(array('action' => 'inventario', $trabajo_id));
                        }
                    } else
                    {
                        $this->Movimientostrabajo->deleteAll(array('Movimientostrabajo.trabajo_id' => $trabajo_id));
                        $this->Session->setFlash('NO EXISTE NINGUN TUBO CON CODIGO ' . $dato['codigo'], 'msgerror');
                        $this->redirect(array('action' => 'inventario', $trabajo_id));
                    }
                } else
                {
                    $usado = $dato['litros'];

                    $valde = $this->Cortestubo->find('first', array(
                        'conditions' => array('Cortestubo.codigo' => $dato['codigo'])));
                    $idValde = $valde['Cortestubo']['id'];


                    $movimientovalde = $this->Movimientostrabajo->find('first', array(
                        'conditions' => array('Movimientostrabajo.cortestubo_id' => $idValde)));
                    //debug($movimientovalde);exit;
                    if (!empty($valde))
                    {
                        if (!empty($movimientovalde))
                        {
                            $peso = $movimientovalde['Movimientostrabajo']['sobra'];
                        } else
                        {
                            $peso = $valde['Cortestubo']['peso'];
                        }

                        $sobrante = 0.0;
                        $sobrante = $peso - $usado;

                        $data = array(
                            'cortestubo_id' => $idValde,
                            'sobra' => $sobrante, 'usado' => $usado,
                            'trabajo_id' => $trabajo_id,
                            'hojasproduccione_id' => $dato['hojaproduccion_id'],
                        );
                        //debug($data);exit;
                        $this->Movimientostrabajo->create();
                        if (!($this->Movimientostrabajo->save($data)))
                        {
                            $this->Movimientostrabajo->deleteAll(array('Movimientostrabajo.trabajo_id' => $trabajo_id));
                            //debug('entro aqui');exit;
                            $this->Session->setFlash('ERROR EN EL REGISTRO INTENTE DE NUEVO', 'msgerror');
                            $this->redirect(array('action' => 'inventario', $trabajo_id));
                        }
                    } else
                    {
                        $this->Movimientostrabajo->deleteAll(array('Movimientostrabajo.trabajo_id' => $trabajo_id));
                        $this->Session->setFlash('ERROR EN EL REGISTRO EL CODIGO NO ESVALIDO', 'msgerror');
                        $this->redirect(array('action' => 'inventario', $trabajo_id));
                    }
                }
            }
            $this->redirect(array('action' => 'vermovimiento', $trabajo_id));
        }
        $this->set(compact('hojasproduccion'));
    }

    public function vermovimiento($idTrabajo = null)
    {

        $movimientos = $this->Movimientostrabajo->find('all', array('conditions' => array('Movimientostrabajo.trabajo_id' => $idTrabajo)));
        //debug($movimientos);exit;
        $fecha = $this->Fechasconvert->doRevert($movimientos[0]['Movimientostrabajo']['created']);
        $cliente = $this->Cliente->find('first', array(
            'conditions' => array('Cliente.id' => $movimientos[0]['Movimientostrabajo']['cliente_id']),
            'recursive' => -1
        ));
        $this->set(compact('movimientos', 'fecha', 'cliente'));
    }

    function verinventario($trabajo_id = null)
    {

        $micras = $this->Micra->find('all', array('conditions' => array('Micra.trabajo_id' =>
                $trabajo_id)));
        //debug($micras);exit;

        $this->set(compact('micras'));
    }

    public function editarestado()
    {

        if (!empty($this->request->data))
        {
            $trabajo_id = $this->request->data['Trabajo']['id'];
            if ($this->Trabajo->save($this->request->data))
            {
                //debug($this->request->data);exit;
                $this->Session->setFlash('Estado del trabajo #' . $trabajo_id . ' modificado', 'msgbueno');
                $this->redirect(array('action' => 'index'));
            } else
            {
                $this->Session->setFlash('Error no se pudo modificar el estado del trabajo #' . $trabajo_id, 'msgerror');
                $this->redirect(array('action' => 'inventario', $trabajo_id));
            }
        }
    }

    public function ajaxbuscatrabajo()
    {

        $this->layout = 'ajax';
        //debug($this->request->data);die;
        $numero = $this->request->data['Trabajo']['numero'];
        $fechaInicio = $this->request->data['Trabajo']['fechai'];
        $fechaFin = $this->request->data['Trabajo']['fechaf'];


        //buscamos por numero de trabajo
        if (!empty($numero))
        {

            $sucursal = $this->Session->read('Auth.User.sucursale_id');
            //debug($sucursal);
            if ($this->Session->read('Auth.User.role') == 'admin')
            {

                $trabajos = $this->Trabajo->find('all', array(
                    'conditions' => array(
                        'Trabajo.estadostrabajo_id' => array(1, 2, 3, 4, 5),
                        'Trabajo.id' => $numero,
                    ),
                    'recursive' => 1,
                    'limit' => 100,
                    'order' => 'Trabajo.id DESC'));
            } else
            {
                $hrutas = $this->Hojarutatipotrabajo->find('all', array(
                    'conditions' => array(
                        'Hojarutatipotrabajo.sucursale_id' => $sucursal
                    ),
                    'group' => array('Hojarutatipotrabajo.hojasruta_id'),
                    'order' => array('Hojarutatipotrabajo.hojasruta_id DESC'),
                    'recursive' => 1
                ));

                $ides = array();
                $i = 0;

                foreach ($hrutas as $h)
                {
                    $ides[$i] = $h['Hojasruta']['trabajo_id'];
                    $i++;
                }

                $trabajos = $this->Trabajo->find('all', array(
                    'recursive' => 1,
                    'limit' => 100,
                    'order' => 'Trabajo.id DESC',
                    'conditions' => array(
                        'Trabajo.id' => $ides,
                        'Trabajo.estadostrabajo_id' => array(1, 2, 3, 4, 5))));
            }

            $this->set(compact('trabajos'));
            //$this
        }

        //preguntamos por fecha
        if (!empty($fechaInicio) && !empty($fechaFin))
        {

            $sucursal = $this->Session->read('Auth.User.sucursale_id');
            //debug($sucursal);
            if ($this->Session->read('Auth.User.role') == 'admin')
            {

                $trabajos = $this->Trabajo->find('all', array(
                    'conditions' => array(
                        'Trabajo.estadostrabajo_id' => array(1, 2, 3, 4, 5),
                        'Trabajo.created >=' => $fechaInicio,
                        'Trabajo.created <=' => $fechaFin,
//                        array(
//                            'Trabajo.created BETWEEN ? AND ?'=>array($fechaInicio, $fechaFin)
//                        )
                    ),
                    'recursive' => 1,
                    'limit' => 100,
                    'order' => 'Trabajo.id DESC'));
                //debug($trabajos);
            } else
            {
                $hrutas = $this->Hojarutatipotrabajo->find('all', array(
                    'conditions' => array(
                        'Hojarutatipotrabajo.sucursale_id' => $sucursal
                    ),
                    'group' => array('Hojarutatipotrabajo.hojasruta_id'),
                    'order' => array('Hojarutatipotrabajo.hojasruta_id DESC'),
                    'recursive' => 1
                ));

                $ides = array();
                $i = 0;

                foreach ($hrutas as $h)
                {
                    $ides[$i] = $h['Hojasruta']['trabajo_id'];
                    $i++;
                }

                $trabajos = $this->Trabajo->find('all', array(
                    'recursive' => 1,
                    'limit' => 100,
                    'order' => 'Trabajo.id DESC',
                    'conditions' => array(
                        'Trabajo.id' => $ides,
                        'Trabajo.estadostrabajo_id' => array(1, 2, 3, 4, 5))));
            }

            $this->set(compact('trabajos'));
            //$this
        }
    }

    public function ajaxtexto()
    {
        $this->layout = 'ajax';
    }
    public function corrijerror()
    {
        $consulta = $this->Notaremisione->find('all', array(
            'conditions' => array('Notaremisione.sucursale_id' => 6),
            'order' => array('Notaremisione.id DESC'),
            'recursive' => -1,'fields' => 'Notaremisione.numero'));
        debug($consulta);exit;
        $consulta = $this->Notaremisione->find('all', array(
            'conditions' => array('Notaremisione.sucursale_id' => 6,'Notaremisione.created >=' => '2014-03-17'),
            'recursive' => -1));
         //debug($consulta);exit;   
        $i = 541;
        foreach($consulta as $con)
        {
            $i = $i+1;
            $this->Notaremisione->create();
            $this->request->data['Notaremisione']['id'] = $con['Notaremisione']['id'];
            $this->request->data['Notaremisione']['numero'] = $i;
            $this->Notaremisione->save($this->request->data);
        }
        exit;
    }
    public function regularizamyhojasruta()
    {     
      die;
      $trabajos = $this->Trabajo->find('all', array(
        'recursive'=>-1,
        'conditions'=>array('Trabajo.id >'=>3627)
      ));
      $i=0;
      foreach($trabajos as $t){
        $sucursaleTrabajo = $t['Trabajo']['sucursale_id'];        
        $i++;
        $this->request->data['Myhojasruta']['trabajo_id']=$t['Trabajo']['id'];
        $this->request->data['Myhojasruta']['fecha']=$t['Trabajo']['created'];
        $myhojasruta = $this->Myhojasruta->find('first', array(
          'recursive'=>-1,
          'conditions'=>array('Myhojasruta.sucursale_id'=>$sucursaleTrabajo),
          'order'=>'Myhojasruta.id DESC'
        ));
        $correlativoSucursale = $myhojasruta['Myhojasruta']['numero']+1;        
        $this->request->data['Myhojasruta']['numero']=$correlativoSucursale;
        $this->request->data['Myhojasruta']['sucursale_id']=$t['Trabajo']['sucursale_id'];
        $this->Myhojasruta->create();
        if($this->Myhojasruta->save($this->request->data['Myhojasruta'])){
          echo 'No '. $i.' - '.$t['Trabajo']['id'].' - '.$t['Trabajo']['created'].' - Correlativo '.$correlativoSucursale.'<br />';                
        }        
        //$this->request->data['Myhojasruta']['fecha']=$t['Trabajo']['created'];
      }
      
    }
    public function regularizahojasruta(){
      $trabajos = $this->Trabajo->find('all', array(
        'recursive'=>-1,
        'conditions'=>array('Trabajo.id >'=>3117)
      ));
      $i=0;
      foreach($trabajos as $t){
        $sucursaleTrabajo = $t['Trabajo']['sucursale_id'];        
        $i++;
        $this->request->data['Myhojasruta']['trabajo_id']=$t['Trabajo']['id'];
        $this->request->data['Myhojasruta']['fecha']=$t['Trabajo']['created'];
        $myhojasruta = $this->Myhojasruta->find('first', array(
          'recursive'=>-1,
          'conditions'=>array('Myhojasruta.sucursale_id'=>$sucursaleTrabajo),
          'order'=>'Myhojasruta.id DESC'
        ));
        $correlativoSucursale = $myhojasruta['Myhojasruta']['numero']+1;        
        $this->request->data['Myhojasruta']['numero']=$correlativoSucursale;
        $this->request->data['Myhojasruta']['sucursale_id']=$t['Trabajo']['sucursale_id'];        
        echo 'No '. $i.' - '.$t['Trabajo']['id'].' - '.$t['Trabajo']['created'].' - Correlativo '.$correlativoSucursale.'<br />';                            
        //$this->request->data['Myhojasruta']['fecha']=$t['Trabajo']['created'];
      }
    }
    public function regulahojaruta(){
        //die;
        $trabajos = $this->Trabajo->find('all', array(
        'recursive'=>-1,
        'conditions'=>array('Trabajo.id >'=>3117)
      ));
        //debug($trabajos);
        $i=0;
    foreach($trabajos as $trab){
        $ruta = $trab['Trabajo']['id'];
        $user = $trab['Trabajo']['user_id'];
        $clien = $trab['Trabajo']['cliente_id'];
        //debug($user);
        $i++;
        $this->request->data['Hojasruta']['user_id']=$user;
        $this->request->data['Hojasruta']['cliente_id']=$clien;
        $this->request->data['Hojasruta']['trabajo_id']=$ruta;
        $this->Hojasruta->create();
        //debug($this->request->data);die;
    if($this->Hojasruta->save($this->request->data['Hojasruta'])){
        echo 'No'.$i.'-'.$trab['Trabajo']['id'].'-'.$trab['Trabajo']['created'].'<br>';
            
    }
    }
        
    }
    
     public function regulatrabajo(){
        $regutrabajos = $this->Cumpatrabajo->find('all', array(
                        'recursive'=>-1,
                        'conditions'=>array('CumpaTrabajo.id >'=>2899)
            
        ));
        //debug($regutrabajos);die;
        $i=0;
        foreach($regutrabajos as $reg){
            $user = $reg['Cumpatrabajo']['user_id'];
            $cliente = $reg['Cumpatrabajo']['cliente_id'];
            $sucursale = $reg['Cumpatrabajo']['sucursale_id'];
            $estatrab = $reg['Cumpatrabajo']['estadostrabajo_id'];
            $fecha = $reg['Cumpatrabajo']['fecharegistro'];
            $created = $reg['Cumpatrabajo']['created'];
            $modified = $reg['Cumpatrabajo']['modified'];
            $verifica = $reg['Cumpatrabajo']['id'];
            $i++;
            //debug($modified);die;
            $this->request->data['Trabajo']['user_id']=$user;
            $this->request->data['Trabajo']['cliente_id']=$cliente;
            $this->request->data['Trabajo']['sucursale_id']=$sucursale;
            $this->request->data['Trabajo']['estadostrabajo_id']=$estatrab;
            $this->request->data['Trabajo']['fecharegistro']=$fecha;
            $this->request->data['Trabajo']['created']=$created;
            $this->request->data['Trabajo']['modified']=$modified;
            $this->request->data['Trabajo']['verifica']=$verifica;
            $this->Trabajo->create();
            //debug($this->request->data);die;
            if($this->Trabajo->save($this->request->data['Trabajo'])){
                echo 'Nro.'.$i.'-'.$reg['Trabajo']['id'].'-'.$reg['Trabajo']['created'].'<br>';
            }
        }
    }
    public function regulahojasproduccione(){
        
        $hojaproduccion = $this->Cumpahojasproduccione->find('all', array(
                                'recursive'=>-1,
                                'conditions'=>array('Cumpahojasproduccione.id >'=>5584)
        ));
        //debug($hojaproduccion);die;
        $i=0;
        foreach($hojaproduccion as $hoja){
            
            $trabajo = $hoja['Cumpahojasproduccione']['trabajo_id'];
            $descripcion = $hoja['Cumpahojasproduccione']['descripcion'];
            $cantidad = $hoja['Cumpahojasproduccione']['cantidad'];
            $metrajeini = $hoja['Cumpahojasproduccione']['metrajeini'];
            $metrajefin = $hoja['Cumpahojasproduccione']['metrajefin'];
            $cara = $hoja['Cumpahojasproduccione']['cara'];
            $costo = $hoja['Cumpahojasproduccione']['costo'];
            $precio = $hoja['Cumpahojasproduccione']['precio'];
            $nr = $hoja['Cumpahojasproduccione']['nr'];
            $nf = $hoja['Cumpahojasproduccione']['nf'];
            $fecha = $hoja['Cumpahojasproduccione']['fecha'];
            $user = $hoja['Cumpahojasproduccione']['user_id'];
            $tipo = $hoja['Cumpahojasproduccione']['tipo'];
            $tip = $hoja['Cumpahojasproduccione']['tipo_id'];
            $preciohoja = $hoja['Cumpahojasproduccione']['preciohoja_id'];
            $tipotrabajo = $hoja['Cumpahojasproduccione']['tipotrabajo_id'];
            $hojaruta = $hoja['Cumpahojasproduccione']['hojaruta_id'];
            $numero = $hoja['Cumpahojasproduccione']['numerohojarutaxsucursal'];
            $sucursal = $hoja['Cumpahojasproduccione']['sucursal_id'];
            $verifica = $hoja['Cumpahojasproduccione']['id'];
            
            //debug($trabajo);
            //debug($descripcion);
            //debug($cantidad);
            //debug($metrajeini);
            //debug($metrajefin);
            //debug($cara);
            //debug($costo);
            //debug($precio);
            //debug($nr);
            //debug($nf);
            //debug($fecha);
            //debug($user);
            //debug($tipo);
            //debug($tip);
            //debug($preciohoja);
            //debug($tipotrabajo);
            //debug($hojaruta);
            //debug($numero);
            //debug($sucursal);die;
            $i++;
            $this->request->data['Hojasproduccione']['trabajo_id']=$trabajo;
            $this->request->data['Hojasproduccione']['descripcion']=$descripcion;
            $this->request->data['Hojasproduccione']['cantidad']=$cantidad;
            $this->request->data['Hojasproduccione']['metrajeini']=$metrajeini;
            $this->request->data['Hojasproduccione']['metrajefin']=$metrajefin;
            $this->request->data['Hojasproduccione']['cara']=$cara;
            $this->request->data['Hojasproduccione']['costo']=$costo;
            $this->request->data['Hojasproduccione']['precio']=$precio;
            $this->request->data['Hojasproduccione']['nr']=$nr;
            $this->request->data['Hojasproduccione']['nf']=$nf;
            $this->request->data['Hojasproduccione']['fecha']=$fecha;
            $this->request->data['Hojasproduccione']['user_id']=$user;
            $this->request->data['Hojasproduccione']['tipo']=$tipo;
            $this->request->data['Hojasproduccione']['tipo_id']=$tip;
            $this->request->data['Hojasproduccione']['preciohoja_id']=$preciohoja;
            $this->request->data['Hojasproduccione']['tipotrabajo_id']=$tipotrabajo;
            $this->request->data['Hojasproduccione']['hojaruta_id']=$hojaruta;
            $this->request->data['Hojasproduccione']['numerohojarutaxsucursal']=$numero;
            $this->request->data['Hojasproduccione']['sucursal_id']=$sucursal;
            $this->request->data['Hojasproduccione']['verifica']=$verifica;
            
            //debug($this->request->data);die;
            $this->Hojasproduccione->create();
            
            if($this->Hojasproduccione->save($this->request->data['Hojasproduccione'])){
                echo 'Nro.'.$i.'-'.$hoja['Hojasproduccione']['id'].'-'.$hoja['Hojasproduccione']['fecha'].'<br>';
            }
            
            
        }
    }
}